package cn.tedu.charging.order.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * 基于HTTP的访问客户端配置
 */
@Configuration
public class RestTemplateConfiguration {
//这个类必须有，不然测试类RestTemplateTests会报错，找不到这样一个类进行注入，从而执行。   反正就是没搞懂为啥加Bean！！！
//Caused by:
//  org.springframework.beans.factory.NoSuchBeanDefinitionException:
//    No qualifying bean of type 'org.springframework.web.client.RestTemplate' available:
//      expected at least 1 bean which qualifies as autowire candidate. Dependency annotations:
//        {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    @Bean   //点击查看源码，可以看到spring里自带这么个类RestTemplate，里面还有exchange等方法。
    // 不过bean不就是IoC容器里生成对象么，代码语句又new对象，干啥？没懂
    public RestTemplate restTemplate() {
        //可以配置 HTTP的链接工具   HttpUrlConnection 或者 HttpComponents OKHttp   飞书里的这两句注释，啥意思？？
        //可以配置 网络连接相关 比如超时时间
        return new RestTemplate();  //上面2行代码其实就是返回new对象啊
    }
}
